<?php
// +----------------------------------------------------------------------
// | 通用PHP框架 [ ThinkPHP ]
// +----------------------------------------------------------------------
// | 版权所有 2016~2019 郑州智众 [Paulxun@qq.com]
// +----------------------------------------------------------------------
// | 官方网站: https://www.zzmind.com
// +----------------------------------------------------------------------

namespace app\user\model;

use think\Model;
use think\facade\Db;

/**
 * Vip等级用户模型
 * @package app\user\model
 */
class Level extends Model
{
    // 设置当前模型对应的完整数据表名称
    protected $name = 'user_level';

    // 自动写入时间戳
    protected $autoWriteTimestamp = true;
	
	// 定义默认的表后缀（默认会员等级数据）
	protected $suffix = '';
		
	// 错误信息
	protected $error;
	
	// 用户信息
	protected $user;
    
	/**
	 * 获取Vip列表
	 * @return array|mixed
	 */
	public static function getList($map = [], $order = [])
	{
	    $data_list = self::level_list();
			foreach ($data_list as $key => $value) {
				$level = self::where('id', $key)->find();
				if ($level) {
					$data_list[$key] = $level;
					$data_list[$key]['name'] = $value;
				} else {
					$data_list[$key] = [
						'id' => $key,
						'name' => $value,
						'auto_up' => 0,
					];
				}
			}
	    return $data_list;
	}
	
	/**
	 * 等级类别
	 * @param int $id 类型id
	 * @author paulxun
	 * @return array|static
	 */
	public static function level_list($id = 99)
	{
		$types = [
		    0   => '认证会员',
			1	=> '孵化代理',
			2	=> '总代',
			3	=> '市代',
			4	=> '省代',
		];
	    if ($id === 99) {
	        $result = $types;
	    }else{
			$result = '';
			if(isset($types[$id])) $result = $types[$id];
		}
	    return $result;
	}
	
	/**
	 * 店铺列表
	 * @param int $id 类型id
	 * @author paulxun
	 * @return array|static
	 */
	public static function shop_list($id = 999)
	{
		$list = cache('shop_list_'.$id);
		if (!$list) {
			$list = self::suffix('_shop')->column('name', 'id');
			// 非开发模式，缓存数据
			if (config('app.develop_mode') == 0) {
			    cache('shop_list_'.$id, $list);
			}
		}
	    if ($id === 999) {
	        $result = $list;
	    }else{
			$result = '';
			if(isset($list[$id])) $result = $list[$id];
		}
	    return $result;
	}
	
	/**
	 * 获取店铺配置信息
	 * @param $id 店铺组ID
	 * @author PaulXun <paulxun@qq.com>
	 * @return array
	 */
	public static function shopConfig($id = 999)
	{
		if ($id === 999) return [];
		$data = cache('shop_config_'.$id);
		if (!$data) {
			$data = self::suffix('_shop')->where('id', '=', $id)->find();
			// 非开发模式，缓存数据
			if (config('app.develop_mode') == 0) {
			    cache('shop_config_'.$id, $data);
			}
		}
		return $data;
		// if ($id === 99) return false;
		// // 首购折扣、复购折扣百分比
		// $keys = ['firstBuy', 'secondBuy'];
		// switch ($id){
		// 	case 1:
		// 	$values = [100,30];
		// 	break;
		// 	case 2:
		// 	$values = [30,25];
		// 	break;
		// 	case 3:
		// 	$values = [25,21];
		// 	break;
		// 	default:
		// 	$values = [38,38];
		// }
		// // 合并两个数组来创建一个新数组
		// $result = array_combine($keys, $values);
	 //    return $result;
	}
	
	/**
	 * 获取等级配置信息
	 * @param $id 用户组ID
	 * @author PaulXun <paulxun@qq.com>
	 * @return array
	 */
	public static function Config($id = 0)
	{
		if ($id === 0) return [];
		$data = cache('group_config_'.$id);
		if (!$data) {
			$data = self::find($id);
			// 非开发模式，缓存数据
			if (config('app.develop_mode') == 0) {
			    cache('group_config_'.$id, $data);
			}
		}
	    return $data;
	}
	/**
	 * 获取错误信息
	 * @access public
	 * @return mixed
	 */
	public function getError()
	{
	    return $this->error;
	}
}
